package Thread.Demo7Stop;

/**
 * @Author wangzhipeng
 * @Date 2020-08-10 5:00 下午
 * @Description 测试stop 利用次数 不建议死循环
 * 建议使用标志位
 * 不要使用stop / destory 等过时不推荐的方法
 */
public class TestStop implements Runnable{

    //1.设置一个标志位
    private boolean flag = true;

    @Override
    public void run() {
        int i = 0;
        while(flag){
            System.out.println("run....Thread"+i);i++;
        }
    }

    //2.设置一个公开的方法停止线程，转换标志位
    public void stop(){
        this.flag = false;
    }

    public static void main(String[] args) {
        TestStop stop = new TestStop();
        new Thread(stop).start();
        try {
            Thread.sleep(3000);
        } catch (InterruptedException e) {
            e.printStackTrace();
        }
        stop.stop();
    }
}
